package com.polymorphic.detail;

/**
 * @Author 小闽
 * @Date 2024/8/12 11:23
 * @PackageName: com.polymorphic.detail
 * @ClassName: PolyDetail
 * @Description: 多态细节
 * @Version 1.0
 */
public class PolyDetail {
    public static void main(String[] args) {
        /**
         * 向上转型： 父类的引用指向子类的对象
         */
        Animal animal = new Cat("小环", 10);
        animal.eat();

        /**
         * 向下转型
         */
        // 1. 子类类型 引用名 = （子类类型） 父类引用
         Cat cat= (Cat) animal;
         cat.catchMouse();
         // 2. 要求父类的引用必须指向的是当前目标类型的对象
        // Dog dog = (Dog) animal;
    }
}
